// We mush define ourself when you are using dynamic memory.
// 	1.delete the m_p
// 	2.close the m_f

#include <iostream>
using namespace std;

class A {
	public:
		A( int i=0 ):m_i(i),m_p( new int ) {
			
		}
		~A( ) {
			cout << "Called" << endl;
			delete m_p;
			m_p = NULL;
		}
	private:
		int m_i;
		int* m_p;
};

// designer
// ------------------------------------------------------------------
// user

int main( void ) { 
	A a;

	return 0;
}

